// let s1 = 'some text';
// console.log(s1.substring(2));

// let s2 = 'some text';
// s2.color = 'red';
// console.log(s2.color);//undefined

// let str = new Object('some text');
// let num = new Object(45);
// let bol = new Object(true);
// console.log(str instanceof String);//true
// console.log(num instanceof Number);//true
// console.log(bol instanceof Boolean);//true

// let num1 = 45;
// console.log(num1.toFixed(2));
// console.log(num1.toExponential(3));
// console.log(num1.toPrecision(1));
// console.log(num1.toPrecision(2));
// console.log(num1.toPrecision(3));
// console.log(num1.toPrecision(4));

// let numobj = new Number(10);
// let numValue = 10;
// console.log(typeof numobj);
// console.log(typeof numValue);
// console.log(numobj instanceof Number);
// console.log(numValue instanceof Number);
// console.log(2**53);

// let str = new String('hello chiness');
// let str1 = new String('你好 中国');
// console.log(str.length);//13
// console.log(str1.length);//5
// console.log(str.charAt(2));//l
// console.log(str.charCodeAt(2));//108
// console.log( 99 === 0x63);//true
// console.log(String.fromCharCode(97,98,99,100,101,102,103));
// console.log(String.fromCodePoint(97, 98, 128522, 100, 101));


//slice,subStr,subString
//一个参数均为正数
// const str = 'HELLO WORLD';
// console.log(str.slice(2));
// console.log(str.substr(2));
// console.log(str.substring(2));
// //两个参数均为正数
// console.log(str.slice(2,4))
// console.log(str.substr(2,4));
// console.log(str.substring(2,4));
// //一个参数为负值
// console.log(str.slice(-3));
// console.log(str.substr(-3));
// console.log(str.substring(-3));

// //两个参数都为负值
// console.log('-----------------------');
// console.log(str.slice(-5,-3));
// console.log(str.substr(-5,-3));
// console.log(str.substring(-5,-3));

// const str = 'hello world';
// console.log(str.indexOf('o'));//4
// console.log(str.lastIndexOf('o'));//7

// console.log(str.indexOf('o',6));//7
// console.log(str.lastIndexOf('o',6));//4;

// const param = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";

// let index = param.indexOf('e');
// const newArr = new Array();
// while(index != -1){
//     newArr.push({[index]:param[index]});
//     index = param.indexOf('e',index+1);
// }
// console.log(newArr);

// let str = 'foobardcdbaz';
// console.log(str.startsWith('bar'));//false 从 index = 0处开始查找
// console.log(str.startsWith('foo'));//true
// console.log(str.endsWith('bar'));//false 从 index = str.length - sub.length = 6 处开始找。
// console.log(str.endsWith('baz'));//true
// console.log(str.includes('bar'));//true str中包含了bar;
// console.log(str.includes('qux'));//false

// let str = 'foobarbaz';
// console.log(str.startsWith('bar'));//false
// console.log(str.startsWith('bar',2));//false
// console.log(str.startsWith('bar',3));//true
// console.log(str.startsWith('bar',4));//false
// console.log('-------------------------------------------');
// console.log(str.includes('bar'));//true
// console.log(str.includes('bar',2));//true
// console.log(str.includes('bar',3));//true
// console.log(str.includes('bar',4));//false
// console.log('-------------------------------------------');
// console.log(str.endsWith('bar'));//false
// console.log(str.endsWith('bar',6));//true
// console.log(str.endsWith('ar',6));//true
// console.log(str.endsWith('barb',7));//true

// console.log('----------------------------------------------');
// const str = '   HELLO   WORLD   ';
// console.log(str);
// console.log(str.trim());
// console.log(str.trimLeft());
// console.log(str.trimRight());

// console.log('---------------------------------------------------');
// const str = '  HA ';
// console.log(str.repeat(5));//  HA   HA   HA   HA   HA 


// console.log('------------------------------------------------------');
// const str = 'bar';
// console.log(str.padStart(8));//     bar
// console.log(str.padStart(8,'-'));//-----bar
// console.log(str.padStart(8,'555'));//55555bar
// console.log(str.padStart(2));//bar
// console.log(str.padEnd(8));//bar
// console.log(str.padEnd(8,'-'));//bar-----
// console.log(str.padEnd(8,'555'));//bar55555
// console.log(str.padEnd(2));//bar

// console.log('----------------------------------------------------');
// const str = 'abcd';
// let strInterator = str[Symbol.iterator]();
// console.log(strInterator.next());
// console.log(strInterator.next());
// console.log(strInterator.next());
// console.log(strInterator.next());
// console.log(strInterator.next());
// console.log(strInterator.next());
// { value: 'a', done: false }
// { value: 'b', done: false }
// { value: 'c', done: false }
// { value: 'd', done: false }
// { value: undefined, done: true }
// { value: undefined, done: true }

// for (const s of str){
//     console.log(s);
// }
// a
// b
// c
// d
// console.log([...str]);//[ 'a', 'b', 'c', 'd' ]
// console.log('-------------------------------------------------');
// let str = 'hello world';
// console.log(str.toUpperCase());
// console.log(str.toLocaleUpperCase());
// console.log(str.toLowerCase());
// console.log(str.toLocaleLowerCase());
// HELLO WORLD
// HELLO WORLD
// hello world
// hello world

// console.log('-----------------------------------------------');
// const str = 'bat cat dat hat fat';
// const matchArr = str.match(/at/);
// console.log(matchArr[0]);//at
// console.log(matchArr[1]);//undefined
// console.log(matchArr[2]);//undefined
// console.log(matchArr.index);//1

// const strS1 = str.search('at');
// const strS2 = str.search(/at/);
// console.log(strS1);//1
// console.log(strS2);//1

// console.log(str.replace('at','pp'));//bpp cat dat hat fat
// console.log(str.replace(/at/g,'uu'));//buu cuu duu huu fuu
// function htmlEscape(str){
//     return str.replace(/[<>?"&]/g,function(match,pos,originText){
//         console.log(match);
//         console.log(pos);
//         console.log(originText);
//         switch(match){
//             case '<':
//                 return '&lt;'
//             case '>':
//                 return '&gt;'
//             case '?':
//                 return '问号';
//             case '&':
//                 return '￥';
//             case "\"":
//                 return "\'";
//         }
//     })
// }
// const htmlStr = '<p class=\"greeting\">Hello world! ???,&&!!&&</p>';
// console.log(htmlEscape(htmlStr));//&lt;p class='greeting'&gt;Hello world! 问号问号问号,￥￥!!￥￥&lt;/p&gt;
